package cn.xingzhe.monster.user.application.service;

/**
 * 验证码应用服务接口
 * 负责验证码发送的业务编排
 *
 * @author System
 * @version 1.0.0
 * @since 2024-01-01
 */
public interface CaptchaApplicationService {

    /**
     * 发送验证码
     *
     * @param key      键（手机号或邮箱）
     * @param typeCode 验证码类型代码（1=注册，2=登录）
     * @throws IllegalArgumentException 当验证码类型无效时
     * @throws IllegalArgumentException 当邮箱或手机号格式不正确时
     */
    void sendCaptcha(String key, Integer typeCode);
}

